2013/05/08

Recent entries from same category

  1. Go 言語プログラミングエッセンスという本を書きました。
  2. errors.Join が入った。
  3. unsafe.StringData、unsafe.String、unsafe.SliceData が入った。
  4. Re: Go言語で画像ファイルか確認してみる
  5. net/url に JoinPath が入った。

以前から携帯から IRC する手段として mobirc を使ってきたのだけど、使ってるサーバのリソースが少なすぎてちょくちょく困ってました。
「これ、Go言語で書いたらパフォーマンスも出るし、使用リソースも減るし万々歳じゃね?」というアホの一つ覚えみたいな動機で作り始めました。
mattn/gomirc - GitHub
https://github.com/mattn/gomirc
mobirc とほぼ同等の機能が動きます。
  • 複数ネットワーク
  • クリッカブルリンク
  • 画像インライン表示
  • 新着件数表示
  • ログイン機能
iPhoneビューも付いてます。
gomirc
あと、バックログ機能が付いてましてサーバを再起動したい場合は CTRL-C すると backlog.json というファイルに最新100件のバックログが保存されます。
config.json は以下の様に記述します。
{
    "irc": [
        {
            "name""freende",
            "host""irc.freenode.net:6668",
            "user""my-username",
            "password""my-password",
            "channels": ["golang-nuts"]
        },
        {
            "name""perl",
            "host""irc.perl.org:6668",
            "user""my-username",
            "password""my-password"
        }
    ],
    "web": {
        "addr"":5004",
        "password""dankogai"
        "root""/mobirc/",
        "backlog""./backlog.json",
        "keywords": ["dan""kogai"]
    }
}
root が指定出来るので、サブディレクトリにインストールしたい人も安心設計。
ちゃんと計測していませんが、perl 版を使っていた頃に比べて top の RSS が 2/3 程度に減りました。
あと先日書いた lingr-ircd を使えばこの gomirc からも扱えますし
mattn/go-lingr - GitHub
https://github.com/mattn/go-lingr
znc を使えば複数のネットワークを束ねる事も出来ます。
znc
これで何時でも何処でも IRC 出来る様になりますね。よろしければどうぞ。
pull リクエストもお待ちしております。
Posted at by